home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-11-22 | 33.5 KB | 968 lines | [TEXT/VIM!] |
- This file contains an overview of changes from Vim version 2.0 to 3.0
-
- The changes new in version 2.x are marked with (2.x).
- Some changes from Robert Webb are marked with (Webb 2.5).
-
- Big improvements
- ================
-
- Added multiple windows and multiple buffers! See doc/windows.doc for an
- overview of the new and changed commands.
-
- Added hidden buffers. 'hidden' option can be set to create a hidden buffer
- instead of abandoning a buffer. Added ":bnext", ":bprev", ":bNext" and
- "brewind" commands to go to other buffer. Added ":buffers" command to show all
- buffers. Added ":bmod" command: go to next modified buffer. Added ":bdelete"
- command: delete buffer from list. (2.4)
-
- Added a lot of commands to manipulate buffers:
- - Added commands to open a window for all arguments, all active buffers, all
- buffers: ":all", ":sall", ":unhide", ":sunhide", ":ball", ":sball". (2.5)
- - Added ":bunload" command: Unload buffer from memory. The ":bdelete" command
- does the same plus deletes the buffer from the buffer list. (2.5)
- - Arguments from command line are always put in buffer list. (2.5)
- - Added ":sbuffer", ":sbnext", ":sbNext", ":sbprevious", ":sbmodified",
- ":sbrewind", ":sblast": split window and go to specified buffer. (2.5)
- - Added ":wNext" and ":wprevious": write file and go back in argument list.
- (2.5)
- - Added ":wqall" and ":xall", write all change buffers and exit. (2.5)
-
-
- When all changes have been undone the buffer is not considered to be changed.
- Vim can then be exit with ":q" instead of ":q!".
-
- Added simple "more" facility to listings. Can be switched on/off with the
- 'more' option.
-
- Added Webb's code for command line completion, with "#ifdef WEBB_COMPLETE".
- (Webb 2.5)
-
-
- Changes incompatible with previous versions
- ===========================================
-
- Command lines starting with '#' are no longer considered to be comments. '#'
- is a synonym for :number.
-
- Embedded newline characters in command lines are considered to be the end of a
- command line. To use newline characters in a command, precede it with CTRL-V
- (you have to type CTRL-V two times to get one).
-
- The ":files" command is now the same as the ":buffers" command. The file list
- and the buffer list have been integrated into one list. The buffer number and
- the file number are equal and will not change during an editing session. (2.5)
-
- ":buffer" does not accept a file name but a buffer number. Use ":set hid" and
- ":e file". (2.5)
-
- Made 'laststatus' a numeric option. It says when to use a status line for last
- window: 0 is never, 1 if more than one window, 2 is always. (2.5)
-
- Replaced CTRL-P in insert mode by CTRL-B (for Backwards). CTRL-P can now be
- used for keyword completion. (2.5)
-
- The search pattern for the :tag command does not replace the search pattern
- that is remembered for the next search command. (Webb 2.5)
-
- Use CTRL-X instead of CTRL-S (subtract). Do not switch off xon/xoff in unix.c.
- Fixes problems with CTRL-S on some terminals. (2.4)
-
- Using >> will not shift lines that start with '#' when 'si' is set. (Webb 2.5)
-
- "\?" in expressions (match exactly one time) replaced by "\=", makes "?\?\?"
- work.
-
- The commands "*" and "#" only search for whole words, using "\<ident\>". (Webb
- 2.5)
-
- When doing a ":ta" command after CTRL-T, the tag stack is truncated, rather
- than keeping old tags at the top. Now repeating CTRL-T will get you back to
- the first ":ta" and stop there. (Webb 2.5)
-
- Made argument list global, not local to each window. ":quit" works when there
- are more files to edit, except when there is only one window. (2.4)
-
- The ".vim" file is not used for recovery with the "-r" argument. Use
- "Vim -s file.vim file" instead.
-
- First page of swap file has changed, cannot recover files from older versions.
- The swap file can now be recognized by its start: "b0VIM 3.0", where 3.0 is
- the version number. (3.0)
-
-
- New commands and functionality
- ==============================
-
- Added insert-mode keyword completion commands CTRL-P and CTRL-N inside #ifdef
- WEBB_KEYWORD_COMPL. (Webb 2.5)
-
- Updated error messages for keyword completion in insert mode. (2.7)
-
- Added "]f" command: Edit file whose name is under the cursor. Added CTRL-W
- CTRL-F and CTRL-W f: split window and edit file whose name is
- under the cursor. (Webb 2.5)
-
- Changed "]f" into "gf". Mnemonic: goto file. (2.7)
-
- Put "]f" and "[f" back in, they do the same as "gf". For people that have the
- 'g' key remapped. (2.9)
-
- Added CTRL-W CTRL-R, CTRL-W r, CTRL-W R: rotate windows upwards/downwards
- (2.5)
-
- Added CTRL-W CTRL-X and CTRL-W x: exchange current window with next one. (Webb
- 2.5)
-
- Added window title for xterm.
-
- Added termcap options 't_so' (standout) and 't_se' (standout end). Use 't_so'
- and 't_se' if inversion is not possible and for highlighting directories.
- At some places standout mode is used instead of inversion. (Webb 2.5)
-
- Do wait_return() message and the message used when asked for 'y' or 'n' is now
- in standout mode. (Webb 2.5)
-
- Added termcap option 't_ms' (save to move cursor in reverse mode). Makes
- inversion work on some terminals.
-
- Added ":mode" command. Under Amiga and Unix this only re-sets the screen
- size. With MSDOS it is possible to switch screen mode.
-
- Now also "%<", "#31<", alternate file name without extension.
-
- Added ':' register. Contains last command line. "@:" repeats last command
- line.
-
- Added ":exit" as synonym for ":xit". More logical, isn't it?
-
- Added ":swapname". Show swap file name for current buffer.
-
- ":args" can have arguments for redefining the argument list, just like
- ":next". (2.5)
-
- When the command for the tag is a search and it fails, try searching for the
- tag itself with pattern "^tag(" and "^[#a-zA-Z_].*tag(". (Webb 2.5)
-
- "%" will now go to matching comment delimiters (/ *, * /) and find matches for
- the preprocessing lines #ifdef, #else, #elif and #endif. (Webb 2.5)
-
- Using '%' on #if/#else/#endif makes the movement linewise. (2.7)
-
- "[p", "[P", "]p" and "]P" work like "p" and "P" but adjust the indent of the
- putted lines to match the context. (Webb 2.5)
-
- Changed put indented: "[p" and "]p" is "]p" (put forward), "[P" and "]P" is
- "[p" (put backward). (2.7)
-
- "[(" and "[{" may be used to go to the (count'th) last unclosed ( or {.
- "])" and "]}" may be used to jump to the (count'th) next unopen) or }. Can be
- used to jump to the start/end of the innermost c-code block (Webb 2.5)
-
- Added count to ":", "count:" translates into ":.,.+(count - 1)". (Webb 2.5)
-
- Added ":sleep" command. (2.4)
-
- "g" is to be used for a new series of commands. First one: "gs" sleeps for a
- moment (Mnemonic: Go to Sleep). Give count for that many seconds. Can be
- interrupted with CTRL-C. (2.5)
-
- Added ":last" and ":slast", go to last argument. (2.5)
- Added ":argument [N]" and ":sargument [N]", go to Nth argument. (2.5)
- Added ":blast" and ":sblast", go to last buffer. (2.5)
-
- Added "-o[N]" command line argument: Open N windows on startup. (2.5)
-
- Added ":only", CTRL-W CTRL-O, CTRL-O o: Close all but current window. (2.5)
-
- Added default digraph: <space> <char> is meta-char. (2.4)
-
- Digraphs with CTRL-H do not make meta characters. Use CTRL-K <space>
- <char>. Fixes problem with abbreviations when 'digraph' set. (2.5)
-
- Don't allow digraphs with ESC. Hitting ESC in digraph exits insert mode. (2.5)
-
- Added ":snext", ":sNext", ":sprev" and ":srewind" commands, split window and
- go to next/previous file in argument list. (2.4)
-
- Added CTRL-W CTRL-P and CTRL-W p, jump to previous window. (2.4)
-
- Added "zz", "zt" and "zb", same as "z.", "zCR" and "z-" but without moving the
- cursor to the start of the line. (2.4)
-
- ":bdelete" and ":bunload" accept a range of buffers and a list of buffer
- numbers. (2.7)
-
-
- Improvements
- ============
-
- Cursor up/down in insert mode keep the same column. Also for "CTRL-O j" and
- the like.
-
- Added column number to :file.
-
- Improved listing of ":set" command. The columns are now sorted top to bottom.
- Long string options are listed at the end (idea comes from nvi).
-
- Renamed directory "macros" to "tools". Moved doc/vim132 to tools/vim132.
-
- "ref" program added for "K" command (in the tools directory. Does simple
- spelling check.
-
- Vim arguments "-c command" and "+command" are now options that can be given
- anywhere on the command line before the file names. Makes it possible to do
- "Vim "+set ic" -t FuncTion".
-
- Improved Usage message.
-
- Added check for negative line numbers in colon commands.
-
- Removed 'n' offset to search patterns. Avoiding pcmark set is now down with
- tag_busy flag.
-
- Improved error messages for file access.
-
- ":args" does not call wait_return() when message is short.
-
- When doing :paste twice the option values are saved only once.
-
- Accept '\n' to separate Ex commands, just like '|'.
-
- With search also accept 'b' for begin, like 's' for start.
- When 'e' used the operator is inclusive.
-
- Visual shift accepts a count for number of indents.
-
- No "hit return to continue" while filtering and only once when reading/writing
- files.
-
- For Amiga and MSDOS lines longer than 32000 characters are split when reading.
- Used to give problems (out of memory errors).
-
- When ':' entered after "hit return to continue" don't redraw the screen.
-
- In regexp: made '$' in front of '\|' also end-of-line.
-
- Added "+command" argument to ":next", ":prev", ":rewind" and ":Next".
-
- Give better error message when "/" did not found pattern and 'wrapscan' off.
-
- Added message "search hit BOTTOM, continuing at TOP" when search wraps. Don't
- display this message when 'terse' option is on.
-
- Made ":&" work like ":s//~/".
-
- Consider mapped characters for terminal codes, makes "map <key-code1>
- <key-code2>" work.
-
- Remember two search patterns: One for substitute and one for the rest. This is
- how vi works. ":global" command sets both patterns.
-
- Error messages during global command are listed below each other. (2.4)
-
- Don't redisplay the "INSERT" message when getting out of insert mode.
-
- With escape in insert mode and auto-indent the cursor is put in the correct
- column right away instead of after one second.
-
- Added "Permission denied" message to readfile().
-
- Added preserve command. Writes all text into the swap file.
-
- Named marks are saved for undo, restored for redo.
-
- Reduced terminal I/O by using screen_char() instead of outchar() for messages.
-
- Added count to quickfix commands :cn and :cp. :cl and :cf can be interrupted
- by CTRL-C.
-
- For MSDOS ignore CTRL-Z at end of file in textmode.
-
- No mapping for CR when waiting for "hit return to continue".
-
- Use 'ignorecase' option when searching for tag in tag file.
-
- When count given for undo or redo, redraw screen only once.
-
- Clear message on command line when scrolling, otherwise it will stay there
- until the screen is cleared. (2.5)
-
- Marks are remembered for buffers that are unloaded. (2.5)
-
- Implemented scroll regions, using "CS" termcap entry. Also works for pc
- console. Does not work for Amiga. (2.5)
-
- Made searches starting with "\<" quite a bit faster, by using regmust in
- regexp.c. (2.5)
-
- Don't output an extra line when reading a file and screen has been scrolled up
- (e.g. after CTRL-D). (2.5)
-
- After "dG" "''" still works (when previous context mark is deleted, use
- previous one). (2.5)
-
- A count can be given after an ex command for all commands that do not use a
- line number or range, e.g. ":sleep 2" is the same as :2sleep". Do not accept a
- count where a file name is expected, because file names can be numbers. For
- example ":next 4". (2.5)
-
- "~/" is expanded to $HOME, wherever an environment variable is allowed. (2.5)
-
- When the start of a filename matches $HOME, it is replaced with "~/" for the
- window title, status line, message from ":read", ":write", CTRL-G, ":file",
- ":marks" and ":jumps". Also for string options shown with ":set" that can be a
- file name. (2.5)
-
- Previous context mark for each window instead of for each buffer. (Webb 2.5)
-
- Set previous context mark only if line number changed. (Webb 2.5)
-
- Made tagstack local to each window. (Webb 2.5)
-
- In the status line of a modified buffer "[+]" is shown. (Webb 2.5)
-
- Remember cursor position in tag stack for :tag command without argument. (Webb
- 2.5)
-
- When backwards range given for ":" command, ask for confirmation to swap it
- and continue. (Webb 2.5)
-
- After CTRL-T set curswant, so we stay in that column when moving up/down.
- (Webb 2.5)
-
- With :s/../../c show ruler when waiting for reply. (Webb 2.5)
-
- Give file name message for commands ":bnext", ":bmod" and the like. (2.5)
-
- Made index in argument list local to each window. (2.5)
-
- Show visual selection only in current window. (2.5)
-
- When a window is split, redraw both windows with cursor in middle. (2.4)
-
- Included code to save the xterm title. Need to define USE_X11, because
- specific include file and library are needed. (2.4)
-
- Made "search hit BOT.." messages redisplay after screen redraw. (2.4)
-
- Don't do textwidth formatting when in replace mode and replacing an existing
- character. (2.4)
-
- Print message about the file when starting to edit an existing buffer. Fixes
- not giving a message when doing ":n" to file being edited in other window.
- (2.4)
-
- When lines are deleted/inserted, adjust topline and cursor position of other
- windows on same buffer to stay in the same place (if possible). (2.4)
-
- If CTRL-W CTRL-] is done on a tag that does not exist, the window is not
- split. (2.4)
-
- Moved column number in CTRL-G to the end and adjusted the number. (2.4)
-
- Added "-- more --" message to listing of mappings. (2.4)
-
- Accept 'q' with "-- more --" message. Interrupts current listing. (2.4)
-
- When end of Visual area is on an empty line, minlc is FALSE, makes
- "d}P" and "v}dP" do the same. (2.4)
-
- When the commands '*' and '#' do not find an identifier after the cursor, a
- search is done for a non-identifier string. (2.5)
-
- Made the ":buffers" listing nicer by putting the "line" string in column 40.
- (2.7)
-
- Updated error messages for keyword completion. (2.8)
-
- If 'winheight' set spread extra lines over other windows. (2.8)
-
- When 'updatecount' changed from zero to non-zero, create swap file for all
- loaded buffers. (2.8)
-
- When command line completion found more than one match, beep. (3.0)
-
- Changed "still more files to edit" into "6 more files to edit". (2.9)
-
- When :bdel is used with a range and errors occur, still delete the other
- buffers. (3.0)
-
- Added version string to .swp file. (3.0)
-
- In MSDOS version: After calling a shell, check screen size. Now it is possible
- to set the screen size with a command like ":!setmode xxx". (3.0)
-
- Don't try to open an X11 display if WINDOWID is not set, makes startup a bit
- quicker sometimes. (3.0)
-
-
- New and changed options
- =======================
-
- Default 'updatetime' is 10000, 10sec. Default 'updatecount' is 1000. This
- feels more comfortable. But if you keep on typing, more will be lost when
- crashing.
-
- Changed default for 'updatecount' to 200 (1000 was too much). Default for
- 'updatetime' is now four seconds (more than three seconds means that your
- attention is drawn away). (2.7)
-
- Added 'cmdheight' option ('ch'), number of lines for command line. Set it to 2
- or 3 if you are annoyed by "hit return to continue" questions for long
- messages.
-
- Added 'winheight' option ('wh'), number of lines for active window. Set it to
- 999 to make the current window always fill the screen.
-
- Made 'winheight' option a "minimal window height" option, only set height if
- current height is smaller. (2.4)
-
- Added 'laststatus' option ('ls'). When set to 2 last window always has a
- status line. When set to 1 (which is the default) the last window only has a
- status line if there are two or more windows. When set to 0 there is never a
- status line. The screen looks nicer with a status line if you have several
- windows, but takes another screen line.
-
- Added optional '>' to 'directory' and 'backupdir' option, e.g. ">/tmp". When
- used, 'directory' option is always used for swap file. When not used
- 'directory' is only used when swap file cannot be created in current
- directory. The default is that the swap file will be in the current directory
- when possible, in 'directory' otherwise. 'directory' defaults to "/tmp" for
- unix, "t:" for Amiga and "c:\tmp" for MSDOS. The 'backupdir' option works in
- the same way, but is currently only available for Unix.
-
- Added 'nobuf' option ('nb'). When set one character is send to the terminal
- at a time (does not work for MSDOS). For debugging purposes.
-
- Added 'shellpipe' option ('sp'). String to use for the make command to store
- the error messages. For Amiga and MSDOS it defaults to ">". For Unix it
- defaults to "| tee". For "csh", "tcsh" and "zsh" it is changed into "|& tee".
- For "sh", "ksh" and "bash" it is changed into "2>&1| tee". Fixes problem with
- :make when not using csh.
-
- Added 'maxmem' option ('mm'), maximal Kbyte to use for one buffer.
-
- Added 'smarttab' option ('sta'). When set a TAB in front of a line inserts
- 'shiftwidth' positions, 'tabstop' in other places. When not set a TAB always
- inserts 'tabstop' positions, 'shiftwidth' is only used for ">>" and the like.
-
- Added 'maxmemtot' option ('mmt'), maximal Kbyte to use for all buffers.
-
- Added 'ttyfast' option ('tf'). When set the terminal is assumed to be fast,
- scrolling windows is done by redrawing. When not set windows are scrolled with
- insert/delete line commands, causing the windows below it to jump up and down
- if threre is no support for a scrolling region.
-
- Added 'equalalways' option: When windows split or closed, always do CTRL-W =.
- (2.5)
-
- Added 'splitbelow': When set new window from split is below current one. (2.5)
-
- Added 'tagrelative' option (default ON!). When using tag file in other
- directory, file names are relative to the directory where the tag file is.
- (Webb 2.5)
-
- When setting 'winheight' adjust current window straight away. Check for
- negative value. (Webb 2.5)
-
- Added 'gdefault' option: make /g default for :s command (default off). (2.4)
-
- Added 'title' option (default on). When off, window title is not set. (2.4)
-
- Added NOTITLE compile time option for Vera: When defined the title option is
- default off. (2.7)
-
- Added 'icon' option (default off): when set xterm icon is set to file name.
- (2.4)
-
- Added 'invertweird' option, for terminals that have a weird inversion method.
- Makes the start/end invert code outputted before every character. (2.4)
-
- Changed 'invertweird' to 'weirdinvert', because an option starting with 'inv'
- is illegal. ":set invertweird" gives an error message. (2.7)
-
- Added 'endofline' 'eol' option. If not set and in binary mode, last line will
- not get an end of line when writing. (2.4)
-
- Added 'bswrap' option: Backspace (CTRL-H) and space wrap to previous/next line
- in command mode. Default is ON! Should have been added long ago! (2.4)
-
- When 'bswrap' option set, left/right cursor keys in insert mode also wrap to
- previous/next line. (2.7)
-
- Changed toggle 'bswrap' option to number 'whichwrap' option: Add numbers to
- allow specific keys to wrap to next/previous line: 1 for backspace, 2 for
- space, 4 for 'h' and 'l', 8 for cursor left/right, 16 for cursor left/right in
- insert mode. (2.7)
-
- Added 'patchmode' option. Oldest version of a file is kept. (2.4)
-
- Added 't_csc' termcap option: when set (to anything) the cursor positioning is
- done relative to the start of the scrolling region. Otherwise it is relative
- to the start of the screen. Unfortunately there is no termcap entry for this.
- We are just guessing its value. Currently only MSDOS pcterm is know to need
- this set. This fixes doing 'o' not getting the new line in the right place for
- MSDOS. (2.7)
-
- Added 'highlight' ('hl') option: Can set highlighting mode for various
- occasions. 'i' for invert, 'b' for bold, 's' for standout; 'v' = visual mode,
- 'd' = directories in CTRL-D listing, 'e' = error messages, 's' = status lines,
- 'h' = help file headers, 'r' = return to continue message. They have to be
- given in pairs, separated with a comma. For example:
- ":set hl=ds,vb,ei,si,hb,ri". Invert is used for occasions that are not
- included. Default is "ds,es,hs,rs,vi,si". (2.6)
-
- Changed the default highlight mode for directories to bold. (2.7)
-
- Added 'n' to 'highlight' option: no highlighting. (2.7)
-
- Added 'bold' termcap option as t_tb. (2.6)
-
-
- Vi compatibility fixes
- ======================
-
- ":>", ":<" and ":yank" leave cursor on the last line.
-
- Abbreviations recognized like vi, fixes abbreviation of "#i" to "#include".
-
- "d]]" also stops at '{'.
-
- ']' and '[' are not linewise.
-
- "z." and "z-" move cursor to start of line. "zz" does the same as "z.".
-
- ":>>" shifts two indents, ":>>>" three, etc.
-
- When no file name yet and giving a ":read fname" command, use that file name.
- (2.4) When no file name yet and giving a ":write fname" command, use that file
- name. (2.5)
-
- ":3,3join" does nothing, fixes "g/^$/.,/./-j" to delete only multiple empty
- lines. (2.5)
-
- ":wnext" does not go to next file in argument list if write fails. (2.5)
-
- CTRL-W CURSOR-UP and CTRL-W CURSOR-DOWN do the same as CTRL-W k and CTRL-W j.
- (2.5)
-
- 'smartindent' is improved: When '}' is typed as the first char on a line,
- it is moved to line up with the line containing the matching '{' (rather than
- just moving back one shift-width no matter what). If '#' is the first
- character typed on a line, then the line is moved all the way to the left.
- (Webb 2.5)
-
- When 'smartindent' set, '#' removes all indent. Now the existing indent is
- remembered for the next line (like with ^ CTRL-D). (2.7)
-
- When ESC is used to cancel a command, don't beep. (Webb 2.5)
-
- When 'autoindent' set and inserting a CR, delete white space after the cursor.
- (Webb 2.5)
-
- Don't set curswant when 'h' or 'l' fails. (Webb 2.5)
-
- With "70|" command set curswant to 70, also when line is shorter. (Webb 2.5)
-
- Fixed "cc" to delete the text linewise, but keep the indent when 'ai' is set.
- (2.5)
-
- "dTx" and "dFx" do not include cursor position.
-
- ":r" without a file name specified reads current file.
-
- "ce" when on the end of a word changes until the end of the next word
- (but "cw" not).
-
- After "dd" put cursor on first non-blank in line.
-
- Abbreviations are never recursive, makes ":ab f f-o" work.
-
- '#' is not the start of an ex comment but an abbreviation for ":number".
-
- Put redo for "p" and "P" back in. It is not completely compatible, because vi
- doesn't always redo putting less then a line (but that is considered to be a
- bug in vi). (2.5)
-
- Adjusted comp_col() for when 'laststatus' is set. Reduces need for "hit return
- to continue". (2.5)
-
- With ":global" command, don't display "n more lines" messages until the end.
- (2.5)
-
- Don't reset yank buffer with "." command. Makes dwu"a. work. (2.4)
-
- Don't check for abbreviation when a (non-id) character is entered with CTRL-V.
- (2.4)
-
- With change command put deleted text in "1, even with text within one line.
- (2.4)
-
- When deleting and a register is specified, also yank into buffer "1. (2.4)
-
- ":3|" prints line 3 instead of jumping to it. (2.4)
-
- Separated 'wrapmargin' and 'textwidth'. Both can be used, if textwidth is set
- it overrides 'wrapmargin'. (2.8)
-
-
- Bug fixes
- =========
-
- Fixed problem in memmove for __sgi.
-
- Fixed ":cd" not working for unix.
-
- Made incrementing hex numbers with CTRL-A work on systems that don't accept 0x
- in scanf for "%x".
-
- Reset p_ro in readfile() when starting to edit a new file.
-
- inchar() also calls flushbuf when waiting for a second, fixes screen not
- updated while waiting for a mapping to be completed.
-
- Fixed ":/pat/s/x/X/"; 's' was seen as option to search command.
-
- Fixed search patterns where delimiter is inside of a range, e.g. "/[/]".
-
- Fixed ignoring 'ignorecase' option for "/[a-z]". Fixed mixing upper/lower case
- when 'ignorecase' option not set (just slowed down the searching).
-
- Use iswhite() instead of isspace() for "^" and set_indent().
-
- Allow pipe in ":r !cmd" and ":w !cmd".
- Adjusted check for '|' in ":e +cmd".
-
- Fixed insertchar() lookahead for digraph not working when using mapped
- characters.
-
- Fixed :unab and :unmap for rhs with spaces.
-
- Fixed not accepting ambiguous abbreviations.
-
- Added check for valid abbreviations.
-
- Fixed crash for AmigaDOS 1.3 when giving more than one file on the command
- line.
-
- Updated isidchar for meta chars.
-
- Added setting of Changed flag to :move and :copy.
-
- Number after search pattern (e.g. "/pattern/3") is line offset.
-
- "cc<ESC>" when 'ai' is set, deletes the indent.
-
- Fixed ":s/1/1^M/gc" on "111" and ":s/O/oO/gc" looping.
-
- Fixed trailing "\" in substitute string (produced garbage).
-
- Fixed yanking control characters (like "^B") with block visual mode.
-
- Fixed cursor left of line with "i<ESC>" when 'number' set.
-
- MSDOS: isdir() adjusted for trailing backslash, fixes CTRL-D listing.
-
- MSDOS: Fixed call to lalloc() in addfile() in msdos.c, could only do 32 files.
-
- MSDOS: Fixed setting archive bit in setperm() in msdos.c.
-
- MSDOS: Do not eat backslashes in ":next" command.
-
- Fixed bug in makescriptname: alloc 1 byte extra.
-
- Fixed bug in doaddsub(): Line truncated 30 chars after number.
-
- Fixed CTRL-O in insert mode moving cursor when it is after end of line.
-
- Vertical movement in insert mode can put cursor one char after the line.
-
- Fixed not inverting 0xa0 in visual mode when scrolling. This caused gaps in
- the inverted region.
-
- Fixed hangup for "?$" command.
-
- Fixed keyword macros: ^B must be ^R.
-
- ":set all" and ":set termcap" do not look for other arguments.
-
- {count}% puts cursor on first non-blank.
-
- When ":ta" to tag in same file, start search in line 1. Fixes problem when
- 'wrapscan' is not set.
-
- Fixed setting of pcmark for "(" and ")".
-
- Fixed setting pcmark with :e command.
-
- Fixed a crash on Unix when terminal type unknown. (2.5)
-
- Fixed 'showmatch', the cursor was off. (2.5)
-
- Solved crash when 'lines' was set in .exrc. (2.5)
-
- Fixed memory leak for mf_xfname. (2.5)
-
- Fixed a problem in the Unix part for making backup files. Strange that this
- did not cause the compiler to complain. (2.5)
-
- Filename expansion is now done into NameBuff instead of IObuff. Fixes bugs
- where file name was scrambled or Vim crashed some time after ":next file".
- (2.5)
-
- Fixed deleting the file message when 't_tp' was set in .vimrc. (2.5)
-
- Fixed cursor positioning problem when :s/../../gc made line go past end of
- screen. (Webb 2.5)
-
- Don't nag about swap file not existing when preserving, except for
- ":preserve". (2.5)
-
- Fixed loosing changes without warning when 'hidden' option set and re-editing
- the same file with a command like ":rewind". (2.5)
-
- Clear commandline with ":buffers" command. (2.5)
-
- Fixed ":1buf" to go to first buffer instead of second one. (2.5)
-
- Fixed default for ":sleep" to be 1 instead of current line number. (2.5)
-
- When the 'hidden' option is set don't give error message for changed file on
- several commands (:ta). (2.5)
-
- Update timestamp in swap file when the file has been written. (2.5)
-
- Fixed a problem not updating the time stamp in the swap file when writing
- another but the current buffer. (2.7)
-
- Fixed bug: not-edited file could be written with ":w". (2.5)
-
- Fixed invering Visual part when 'nowrap' set and start is left of window.
- (2.4)
-
- Fixed problem with join: Deleted leading spaces in the 2nd line when it
- shouldn't. (2.4)
-
- MSDOS: Trailing CTRL-V in sourced ex file now handled correctly. (2.4)
-
- Improved check for readonly files, now "466" is not readonly for others. (2.4)
-
- Fixed not inverting one char with "1v" when cursor cannot be made invisible.
- (2.4)
-
- Stop Visual mode before exiting a window. (2.4)
-
- Changed "short_u" to "unsigned" in data block. Fixes problem with lines longer
- than 64K characters on Unix. Disadvantage: Need 2 bytes extra for each line.
- (2.4)
-
- Fixed plines_win() and chartabsize() for lines that are almost 32768
- characters. (2.4)
-
- Replace MAX_INT by INT_MAX, fixes problem with "$" not getting very far. (2.4)
-
- Status lines also redrawn after ":set". Needed when 'ruler' option was
- changed. (2.4)
-
- Fixed fname freed twice in mf_open(). Fixes crash/hang when editing a file in
- a readonly directory. (2.4)
-
- Update mf_neg_count in mf_free, fixes "line count wrong in block 1" errors.
- (2.4)
-
- Fixed bug when in replace mode and beyond the end of the line. (2.4)
-
- Fixed a problem for 'r' with a count. Could corrupt the text in the buffer!
- (2.4)
-
- Scroll options adjusted after CTRL-W =. (2.4)
-
- If a tag is found, but the associated file does not exist, do not start
- editing an empty file. (2.4)
-
- sc_col and ru_col cannot become negative anymore, fixes crash with ":win 1".
- (2.4)
-
- Check_winsize makes Rows at least 2. (2.4)
-
- 'o' and 'O' commands did not update marks for the line just below the new
- line. (2.4)
-
- Fixed truncated displaying of string options. (2.4)
-
- Fixed chmod for help file in makefile.unix. (2.4)
-
- Highlighting of directories for CTRL-D on command line no longer highlights
- some spaces. (2.4)
-
- Moved #endif in param.c from below to above p_wh, fixes problem when
- COMPATIBLE is defined. (2.4)
-
- Don't reset msg_scrolled in UpdateScreen() when redrawing is disabled. (2.4)
-
- Fixed cursor positioning error when cursor is on first char of non-empty
- cmdline. (2.4)
-
- Fixed problem with redraw when filename completion fails under unix. (2.4)
-
- No "hit return to continue" while editing a command line
- (e.g. when filename completion fails). (2.4)
-
- Fixed bug: Errors while reading file caused big problems. (2.4)
-
- Don't try to preserve if there is no swap file. (2.4)
-
- Dont' complain about .swp file existing without a file name. (2.4)
-
- Fixed endless loop for CTRL-R a in insert mode while register a contained
- CTRL-R a. Can now be interrupted with CTRL-C. (2.6)
-
- Fixed ":n *" in MSDOS not finding file names with dot. (2.7)
-
- Fixed cursor not moved to the right column when scrolling with CTRL-E and
- CTRL-Y. (2.7)
-
- Fixed bug when using CTRL-A to increment a decimal number after incrementing
- an upper case hexadecimal number. (2.7)
-
- Only reset the 'notedited' flag when writing to the current file name, not
- when writing to another file. (2.7)
-
- Fixed screen redraw when window resized, was sometimes done only after
- character typed. (2.7)
-
- Corrected the order of the options to be alfabetical. (2.7)
-
- Fixed using CTRL-D on the command line when there are no matches at all. (2.7)
-
- Fixed beeping always when doing CTRL-A on command line. (2.7)
-
- Fixed the line number for the alternate file being used for the next command.
- e.g. ":w #", ":e file" when # is file. (2.7)
-
- Moved the fileinfo() in doecmd() to after the place where the cursor is set.
- Fixes reporting the wrong cursor position when entering a hidden buffer. (2.7)
-
- Fixed compilation problem in unix.c when compiling without WEBB_COMPLETE.
- (2.7)
-
- When going to previous line with backspace, set curswant. (2.7)
-
- Fixed status line showing "[No File] [+] [+]": two plusses. (2.7)
-
- The 'changed' flag was not reset for other buffers with :wall. (2.7)
-
- Solved bug in 'r': The change was not written to the swap file, which made the
- change to be lost sometimes. (2.6)
-
- Don't ask for swapping the command line range when in global command. (2.6)
-
- Fixed :bdelete, it did't work. :bdelete and :bunload cannot remove a buffer
- with an open window, unless it is only the current window. (2.6)
-
- Fixed .swp files not deleted when starting to edit a file when the current
- buffer is empty and has no name. This also fixes the problem which happens
- when starting vim without a file name and the starting to edit a file that
- does not exist. (2.6)
-
- When error encountered while loading files for "-o" option or ":all", continue
- loading the other files. (2.8)
-
- If cursor is in column 0, always reset horizontal scrolling. Makes tabs
- completely visible. (2.8)
-
- Fixed problem in mf_release_all, empty used list not detected properly. (2.8)
-
- Fixed crash with command ":@:", repeat last command line. (2.8)
-
- Fixed cursor in wrong column when matched string from search was just one line
- below the window. (2.8)
-
- ":m+1" on the last line in the file silently deleted that line. (3.0)
-
- Fixed command line completion of ":s<TAB>". (3.0)
-
- The ":srewind" command did not work. (3.0)
-
- The ":k" command did not work. (3.0)
-
- When making windows for ":all" or "-o" argument, ignore 'splitbelow' option.
- (3.0)
-
- Fixed a problem when recovering with a swap file that has a page size
- different from the default page size. (3.0)
-
- The ":bdelete" command did not delete the last buffer. (3.0)
-
- When using a range with ":bdelete" that included the current buffer, all the
- buffers after it would get loaded before being deleted (3.0)
-
- Fixed <SPACE>, wrapping to first char of next line, not setting the wanted
- column, causing the next 'k' to go to the wrong column. Same for <BACKSPACE>
- on the first column, sticking in the last column. (3.0)
-
-
- Internals
- =========
-
- Renamed u_char to char_u, u_short to short_u. Avoids problems with systems
- where these are already defined.
-
- Replaced almost all char by char_u, solves some problems with characters above
- 127.
-
- Removed ptr2nr(). This means that line numbers are adjusted when
- inserting/deleting lines. Marks remember line number instead of pointer; undo
- uses line count to compute ue_bot.
-
- Moved all objects files into "obj" directory.
-
- Added "window.c" for multiple window code.
-
- Added "memfile.c" and "memline.c" for swap file code.
-
- Moved what was remaining of "storage.c" to "undo.c", deleted "storage.c".
-
- Deleted autoscript file stuff.
-
- Renamed "buffers.c" to "getchar.c".
-
- Created "buffer.c". Deleted "script.c".
-
- Moved a few functions from "cmdline.c" to "cmdcmds.c" to reduce the size of
- "cmdline.c".
-
- Integrated file list into buffer list. ":buffers" and ":files" do the same.
- Moved functions from "filelist.c" to "buffer.c", deleted "filelist.c". (2.5)
-
- Remove mch_start_listing() and mch_stop_listing(), replaced by "--more--".
- (2.5)
-
-
- Portability
- ===========
-
- A few patches, the file "winnt.c" and "makefile.nt" for windows NT. (2.4)
-
- Added support for Archimedes. It probably doesn't work, because "archie.h" was
- missing, and the patches are for Vim version 2.0. Included them anyway, so
- people can make patches to make it working. (2.9)
-
- Added a few changes for USL in unix.c.
-
- Made makefile for unix more easy to change for a specific system.
-
- Included small patches for gcc on HPUX 9. (2.4)
-
- Set the SIGWINCH signal, when receiving that signal, for all systems. (Webb
- 2.5)
-
- Changed Visual into VIsual, because it is also used by X11. (2.4)
-
- Added some changes for USL and picky gcc. (2.4)
-
- Included patches for SCO 3.2. (2.4)
-
- Removed the use of the 'obj' directory from makefile.unix. Some versions of
- make and cc were having problems with it. (2.7)
-